@echo off
setlocal

:: 设置任务名称
set TASK_NAME=RedisToJsonTask
:: 设置工作目录
set WORK_DIR=D:\electric
:: 设置Python路径 (使用绝对路径)
set PYTHON_PATH=c:\users\qianxiaowei\python-sdk\python3.13.2\python.exe
:: 设置脚本路径
set SCRIPT_PATH=%WORK_DIR%\redis_to_json.py
:: 设置日志文件
set LOG_FILE=%WORK_DIR%\logs\redis_task_scheduler.log

:: 切换到工作目录
cd /d %WORK_DIR%
if %ERRORLEVEL% NEQ 0 (
    echo 无法切换到工作目录: %WORK_DIR%
    echo 无法切换到工作目录: %WORK_DIR% >> %LOG_FILE% 2>&1
    goto :exit
)

:: 删除旧任务(如果存在)
echo 删除旧任务(如果存在)... >> %LOG_FILE% 2>&1
schtasks /delete /tn %TASK_NAME% /f >> %LOG_FILE% 2>&1

:: 创建新任务: 每天每5分钟执行一次 (从00:00开始)
echo 创建新任务: 每天每5分钟执行一次... >> %LOG_FILE% 2>&1
:: 添加 /st 00:00 参数确保从每天0点开始执行
schtasks /create /tn %TASK_NAME% /tr "cmd.exe /c cd /d %WORK_DIR% && %PYTHON_PATH% %SCRIPT_PATH%" /sc minute /mo 5 /st 00:00 /ru SYSTEM /f >> %LOG_FILE% 2>&1

:: 验证任务是否创建成功
if %ERRORLEVEL% EQU 0 (
    echo 定时任务创建成功: %TASK_NAME%
    echo 任务将每天的第0分钟、第5分钟、第10分钟等时间点执行
    echo 日志文件: %LOG_FILE%
    echo 定时任务创建成功: %DATE% %TIME% >> %LOG_FILE% 2>&1
) else (
    echo 定时任务创建失败, 错误代码: %ERRORLEVEL%
    echo 请查看日志了解详情: %LOG_FILE%
    echo 定时任务创建失败, 错误代码: %ERRORLEVEL% >> %LOG_FILE% 2>&1
)

:exit
endlocal